﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using liclSolcred.Views;
using com.creditos.be.liclSolcred;
using com.creditos.util.liclUtil;
using com.creditos.be.liclUtil;
using com.creditos.be.liclVerifica;

public partial class solcred_FormsConBandejaVerificacion : CreditosPaseBase,IFormsBandejaVerificacionView
{
    private liclSolcred.Views.FormsBandejaVerificacionPresenter oPresenter = new FormsBandejaVerificacionPresenter();
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!this.IsPostBack)
        {
            oPresenter.View = this;
            Master.TituloModulo = "Bandeja de Verificaciones";                        
            oPresenter.ObtenerListaTipoVerificacion();
            InsertarSeleccione();                        
            UCBarraHerramientas1.btnActualizar.Visible = true;
            UCBarraHerramientas1.btnRegresar.Visible = true;
        }
        oPresenter.View = this;
    }

    protected override void DefineHandlers()
    {
        UCBarraHerramientas1.btnActualizar.Click += new EventHandler(btnActualizar_Click);        
        UCBarraHerramientas1.btnRegresar.Click += new EventHandler(btnRegresar_Click);        
        gvwVerificacionesPendientes.SelectedIndexChanged += new EventHandler(gvwVerificacionesPendientes_SelectedIndexChanged);
        
    }

    void btnActualizar_Click(object sender, EventArgs e)
    {
        BandejaVerificacionBE oVerificacion = new BandejaVerificacionBE();
        oVerificacion.TipoVerificacion = ddlTipoVerificacion.SelectedValue.ToString();
        oPresenter.ObtenerListaVerificacionPendiente(oVerificacion);
        gvwVerificacionesPendientes.Columns[1].Visible = false;
        gvwVerificacionesPendientes.Columns[8].Visible = false;
        gvwVerificacionesPendientes.Columns[9].Visible = false;
        gvwVerificacionesPendientes.Columns[10].Visible = false;
        gvwVerificacionesPendientes.Columns[11].Visible = false;
        gvwVerificacionesPendientes.Columns[12].Visible = false;
    }

    void btnRegresar_Click(object sender, EventArgs e)
    {
        Response.Redirect("../FormsPrincipal.aspx");
    }

    public void InsertarSeleccione()
    {
        List<Control> lstControles = new List<Control>();
        lstControles = Utilitario.ListarControles(Page, 2);
        foreach (Control item in lstControles)
        {
            UIBindable.InsertarSeleccionar((DropDownList)item);
        }
    }
    protected void gvwVerificacionesPendientes_SelectedIndexChanged(object sender, EventArgs e)
    {
        if (gvwVerificacionesPendientes.Rows.Count > 0)
        {
            GridViewRow row = gvwVerificacionesPendientes.SelectedRow;

            
            strCodigoIntegrante = row.Cells[1].Text;
            strNumeroSolicitud = row.Cells[2].Text;
            strTipoVerificacion = row.Cells[4].Text;
            strCodigoVerificacion = row.Cells[5].Text;
            strCodigoUsuarioOrdena = row.Cells[8].Text;
            strDescripcionEstado = row.Cells[7].Text;
            strDescripcionUsuarioOrdena = row.Cells[9].Text;
            strCodigoUsuarioVerifica = row.Cells[10].Text;
            strDescripcionUsuarioVerifica = row.Cells[11].Text;
            strFechaEnvio = row.Cells[12].Text;


            if (strTipoVerificacion == "Domicilio")
            {                           
                string url = "FormsManVerificacionDomicilio.aspx";
                string script = "window.location = '" + url + "';";
                ScriptManager.RegisterStartupScript(this, typeof(Page), "RedirectTo", script, true);
                
            }
            else if (strTipoVerificacion == "Trabajo")
            {
                string url = "FormsManVerificacionTrabajo.aspx";
                string script = "window.location = '" + url + "';";
                ScriptManager.RegisterStartupScript(this, typeof(Page), "RedirectTo", script, true);

            }
        }
    }

    #region IFormsBandejaVerificacionView Members
    public void CargarListaTipoVerificacion(List<BandejaVerificacionBE> lstVerificacion)
    {
        UIBindable.Bind(ddlTipoVerificacion, lstVerificacion);
    }

    public void MostrarMensajeError(string p)
    {
        Master.MostrarMensaje(p, 0);    
    }

    public void CargarListaVerificacionPendiente(List<BandejaVerificacionBE> lstVerificacion)
    {
        UIBindable.Bind(gvwVerificacionesPendientes, lstVerificacion);
    }
   
    #endregion

    #region Propiedades
    public string strCodigoIntegrante
    {        
        set { Session["CodigoIntegrante"] = value; }
    }
    public string strNumeroSolicitud
    {
        set { Session["NumeroSolicitud"] = value; }
    }
    public string strTipoVerificacion
    {
        get { return (string)Session["TipoVerificacion"]; }        
        set { Session["TipoVerificacion"] = value; }
    }
    public string strCodigoVerificacion
    {
        set { Session["CodigoVerificacion"] = value; }
    }
    public string strCodigoUsuarioOrdena
    {
        set { Session["CodigoUsuarioOrdena"] = value; }
    }
    public string strDescripcionEstado
    {
        set { Session["DescripcionEstado"] = value; }
    }
    public string strDescripcionUsuarioOrdena
    {
        set { Session["DescripcionUsuarioOrdena"] = value; }
    }
    public string strCodigoUsuarioVerifica
    {
        set { Session["CodigoUsuarioVerifica"] = value; }
    }
    public string strDescripcionUsuarioVerifica
    {
        set { Session["DescripcionUsuarioVerifica"] = value; }
    }
    public string strFechaEnvio
    {
        set { Session["FechaEnvio"] = value; }
    }

    #endregion

}
